Digitally controlled oscillators (DCOs) are commonly used in all-digital phase locked loops (ADPLLs). The frequency of the output of a DCO is typically determined by a digital frequency control word (FCW) that is provided as an input to the DCO. In many instances, the output frequency (F) of a DCO is determined as follows F=F0+α*w (FCW), where F0 is the oscillator frequency of a reference clock signal provided as an input to the DCO, α is the frequency gain of the DCO, and w is a weighting factor for the inputs of the FCW.
The frequency control word can have any number of signals and these signals can have any weighting applied to them. The number of signals in the frequency control word is typically related to the frequency resolution and range of the DCO. The signal weighting determines the linearity of the frequency control of the DCO. In many DCOs, a thermometer weighting is used where each signal results in the same frequency change. This increases the likelihood of monotonicity and limits non-linearity based upon the extent to which the manufacturing process can match individual elements used to control the signal on each input line of the thermometer input. Typical DCO implementations are illustrated in FIGS. 1A and 1B. The DCO in FIG. 1A receives an N bit FCW that is used to determine the frequency to output. The DCO in FIG. 1B receives a FCW that includes a coarse (or zone) tuning control signal, an integral tuning control signal, a proportional tuning control signal, and a dither signal.
When using a thermometer coded input, the minimum resolution of the FCW signal is limited by practical issues such as reasonably implementable minimum capacitor sizes and/or current sources. In a number of DCO implementations, a separate signal (or bus) is provided (often called a dither) on which a coding scheme including (but not limited to) pulse density or sigma delta coding is used to generate a finer resolution. An implementation utilizing a thermometer coded frequency code word in conjunction with a dither signal is illustrated FIG. 1C. A binary encoded FCW is split into most significant bits binfcw_msbs and least significant bits binfcw_lsbs. The signal binfcw_msbs is encoded by a thermometer coder into FCW thermfcw in N bit thermometer code. The signal binfcw_lsbs is encoded using a sigma delta coder into a one bit dither. The dither signal is typically handled in the DCO by a separate array of capacitors.